import * as x from '../core/dict';
const path = '/:type';
module.exports = r => {
    r
        .get('/',
            ctx =>
                x.get(ctx.query)
                    .then(ctx.done, ctx.fail)
        )
        .get(path,
            ctx =>
                x.get({type: ctx.params.type, ...ctx.query})
                    .then(ctx.done, ctx.fail)
        )
        .post(path,
            ctx => {
                const data = ctx.req.body;
                data.type = ctx.params.type;
                return x.save(data)
                    .then((d) => {
                        ctx.done(d.id);
                    }, ctx.fail);
            }
        )
        .put(path,
            ctx =>
                x.save(ctx.req.body)
                    .then(() => {
                        ctx.done();
                    }, ctx.fail)
        )
        .delete(path + '/:id',
            ctx =>
                x.del(ctx.params.id)
                    .then(ctx.done, ctx.fail)
        );
};
